package m1;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Producer {
    public static void main(String[] args) throws IOException, TimeoutException {
        //连接mq服务器
        ConnectionFactory f =  new ConnectionFactory();
        f.setHost("192.168.64.140");
        f.setPort(5672);
        f.setUsername("admin");
        f.setPassword("admin");
        Connection con = f.newConnection();//连接
        Channel c = con.createChannel();//通信通道

        //在mq服务器上。创建消息对列helloworld
        //如果队列已经存在，不会重新创建
        /*
        * 参数：
        * 1.队列名
        * 2.是否是持久队列 （非持久队列服务器重启后会消失）
        * 3.是否是排他（独占）队列 （非独占队列，许多个消费者从同一个队列接收消息）
        * 4.是否自动删除 （自动删除的队列  在没有消费者时 可以被服务器自动删除）
        * 5.队列其他属性
        * */
        c.queueDeclare("helloworld",false,false,false,null);

        //向helloworld队列发送消息
        /*
        * 参数：
        * 1.交换机  “ ”指的是默认交换机
        * 2.队列
        * 3.消息的其他属性设置
        * 4.消息数据 byte[] 数组
        *
        * */
        c.basicPublish("","helloworld",null,"Hello World!".getBytes());
        System.out.println("消息已发送");

        c.close();
        con.close();
    }
}
